package com.nifostasky.config;

import com.nifostasky.config.fallback.FallbackFactoryFeign;
import com.nifostasky.entity.Student;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 *  使用 fallbackFactory 方式 创建 回调方法;
 *  此方式 能实现 捕获异常;
 *
 */
//@Component
@RequestMapping("/studentTwo")  //fallbackFactory 可以有该注解
//对应服务名，服务提供者者的spring.application.name
@FeignClient(value = "springcloud-controller",contextId = "studentTwo",fallbackFactory = FallbackFactoryFeign.class)
public interface StudentFeignClientTwo {
    /**
     *
     *
     * 这个方法必须和调用的服务方法一模一样;
     * @param id
     * @return
     */
    @GetMapping("/queryUserById/{id}")
    Student queryUserById(@PathVariable("id") Integer id);
}
